package com.rockcent.mall.lib.dto;

import com.rockcent.common.domain.DtoEntity;
import com.rockcent.common.domain.IDEntityMall;
import com.rockcent.mall.lib.domain.enumclass.SysMessageStatus;
import com.rockcent.mall.lib.domain.enumclass.SysMessageType;
import com.rockcent.mall.lib.domain.enumclass.TerminalType;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;

import javax.persistence.*;
import java.util.List;

/**
 * Created by zhangjh on 2017/5/22.
 */
public class SysMessageDto extends DtoEntity {

    /**
     * 类型
     */
    private String type;

    /**
     * 状态
     */
    private String status;

    /**
     * 平台ID
     */
    private Long mallId;

    /**
     * 商户ID
     */
    private Long merchantId;


    /**
     * 消息内容
     */
    private String content;

    /**
     * 目的地：前端url
     */
    private String frontendUrl;

    /**
     * 不带参数的前端url
     */
    private String frontendResourceUrl;

    /**
     * 消息触发的：后端url
     */
    private String backendUrl;

    /**
     * 用户id
     */
    private Long userId;

    /**
     * 用户名
     */
    private String username;

    /**
     * 用户信息id
     */
    private Long msgUserId;

    /**
     *用户消息id集合
     */
    private List<Long> ids;

    /**
     * 终端类型：WECHAT("微信端") ,IOS("苹果APP端"),ANDROID("安卓APP端"),BROWER("PC端") ,MERCHANT("MERCHANT") ,WXAPP("小程序"),UNKNOWN("未知")
     */
    private String terminalType;

    /**
     * 接收消息的平台ID
     */
    private Long destinationTerminalId;


    private String notifyDate;

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public Long getMallId() {
        return mallId;
    }

    public void setMallId(Long mallId) {
        this.mallId = mallId;
    }

    public Long getMerchantId() {
        return merchantId;
    }

    public void setMerchantId(Long merchantId) {
        this.merchantId = merchantId;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getFrontendUrl() {
        return frontendUrl;
    }

    public void setFrontendUrl(String frontendUrl) {
        this.frontendUrl = frontendUrl;
    }

    public String getFrontendResourceUrl() {
        return frontendResourceUrl;
    }

    public void setFrontendResourceUrl(String frontendResourceUrl) {
        this.frontendResourceUrl = frontendResourceUrl;
    }

    public String getBackendUrl() {
        return backendUrl;
    }

    public void setBackendUrl(String backendUrl) {
        this.backendUrl = backendUrl;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public Long getMsgUserId() {
        return msgUserId;
    }

    public void setMsgUserId(Long msgUserId) {
        this.msgUserId = msgUserId;
    }

    public List<Long> getIds() {
        return ids;
    }

    public void setIds(List<Long> ids) {
        this.ids = ids;
    }

    public String getTerminalType() {
        return terminalType;
    }

    public void setTerminalType(String terminalType) {
        this.terminalType = terminalType;
    }

    public Long getDestinationTerminalId() {
        return destinationTerminalId;
    }

    public void setDestinationTerminalId(Long destinationTerminalId) {
        this.destinationTerminalId = destinationTerminalId;
    }

    public String getNotifyDate() {
        return notifyDate;
    }

    public void setNotifyDate(String notifyDate) {
        this.notifyDate = notifyDate;
    }

    @Override
    public String toString() {
        return "SysMessageDto{" +
                "type='" + type + '\'' +
                ", status='" + status + '\'' +
                ", mallId=" + mallId +
                ", merchantId=" + merchantId +
                ", content='" + content + '\'' +
                ", frontendUrl='" + frontendUrl + '\'' +
                ", frontendResourceUrl='" + frontendResourceUrl + '\'' +
                ", backendUrl='" + backendUrl + '\'' +
                ", userId=" + userId +
                ", username='" + username + '\'' +
                ", msgUserId=" + msgUserId +
                ", ids=" + ids +
                ", terminalType='" + terminalType + '\'' +
                ", destinationTerminalId=" + destinationTerminalId +
                ", notifyDate='" + notifyDate + '\'' +
                '}';
    }
}
